﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using SRP_LibBusinessRules;
using SRP_LibBusinessEntity;
using System.Data;
using System.IO;
using SRPCENTRIA.Code;
using System.Configuration;

  
namespace SRPCENTRIA.ws_app
{
    public partial class wInformacionTributaria : BasePage
    {
        DataTable tablaInformTributaria = new DataTable("tblInformTributaria");
        protected void Page_Load(object sender, EventArgs e)
        {
            session_TodaInformTODATributaria();
            if (!Page.IsPostBack)
            {

                ListarFiscalPais();
                LlenarCampos();

                DataTable tablaTODADireccion;
                tablaTODADireccion = (DataTable)Session["tblTODADireccion"];
                txtFDirec.Text = tablaTODADireccion.Rows[0].ItemArray[tablaTODADireccion.Columns["colPDirec"].Ordinal].ToString();
                dllFIPais.SelectedValue = tablaTODADireccion.Rows[0].ItemArray[tablaTODADireccion.Columns["colPPais"].Ordinal].ToString();
                ListarFiscalDpto(dllFIPais.SelectedValue);
                dllFIDpto.SelectedValue = tablaTODADireccion.Rows[0].ItemArray[tablaTODADireccion.Columns["colPDpto"].Ordinal].ToString();
                ListarFiscalProv(dllFIDpto.SelectedValue);
                dllFIProv.SelectedValue = tablaTODADireccion.Rows[0].ItemArray[tablaTODADireccion.Columns["colPProv"].Ordinal].ToString();
                ListarFiscalDist(dllFIProv.SelectedValue);
                dllFIDist.SelectedValue = tablaTODADireccion.Rows[0].ItemArray[tablaTODADireccion.Columns["colPDist"].Ordinal].ToString();

            }
            DataTable tablainfBasica = (DataTable)Session["tblTodaInformBasicaRubro"];
            if (tablainfBasica.Rows.Count > 0)
            {
                if (tablainfBasica.Rows[0].ItemArray[0].ToString() == "JUR") { rbtPersoneria.SelectedValue = "J"; } else { rbtPersoneria.SelectedValue = "N"; }
            }
        }

        #region -- Llenar Combos Fiscal --

        private void ListarFiscalPais()
        {
            NUbigeo objwsGeneric = new NUbigeo();
            dllFIPais.DataSource = objwsGeneric.ListarPais("171", "");
            dllFIPais.DataTextField = "VPAI_DESCRIPCION_PAIS";
            dllFIPais.DataValueField = "VPAI_CODIGO_PAIS";
            dllFIPais.DataBind();
        }
        private void ListarFiscalDpto(string FPais)
        {
            NUbigeo objwsGeneric = new NUbigeo();
            dllFIDpto.DataSource = objwsGeneric.ListarDepartamentos(FPais);
            dllFIDpto.DataTextField = "VUBI_NOMDPTO";
            dllFIDpto.DataValueField = "VUBI_CODIGO_UBIGEO";
            dllFIDpto.DataBind();
        }
        private void ListarFiscalProv(string FProvincia)
        {
            NUbigeo objwsGeneric = new NUbigeo();
            dllFIProv.DataSource = objwsGeneric.ListarProvincias(FProvincia);
            dllFIProv.DataTextField = "VUBI_NOMPROV";
            dllFIProv.DataValueField = "VUBI_CODIGO_UBIGEO";
            dllFIProv.DataBind();
        }
        private void ListarFiscalDist(string FDistrital)
        {
            NUbigeo objwsGeneric = new NUbigeo();
            dllFIDist.DataSource = objwsGeneric.ListarDistritos(FDistrital);
            dllFIDist.DataTextField = "VUBI_NOMDIST";
            dllFIDist.DataValueField = "VUBI_CODIGO_UBIGEO";
            dllFIDist.DataBind();
        }

        #endregion

        protected void dllFIPais_SelectedIndexChanged(object sender, EventArgs e)
        {
            ListarFiscalDpto(dllFIPais.SelectedValue.ToString());
          
        }

        protected void dllFIDpto_SelectedIndexChanged(object sender, EventArgs e)
        {
            ListarFiscalProv(dllFIDpto.SelectedValue.ToString());
        }

        protected void dllFIProv_SelectedIndexChanged(object sender, EventArgs e)
        {
            ListarFiscalDist(dllFIProv.SelectedValue.ToString());
        }

        protected void btnAtras_Click(object sender, EventArgs e)
        {
            CargarDatosTablaTributaria();
            Response.Redirect("wInformacionFinanciera.aspx", true);
        }

        public static string ToStringAsXml(DataTable Datosxml)
        {

            StringWriter swIB = new StringWriter();
            Datosxml.WriteXml(swIB, XmlWriteMode.IgnoreSchema);
            string sIB = swIB.ToString();
            return sIB;


        }

        private void sessionesPaginas()
        {
            #region -- InformacionBasica --
            DataTable tablaInformBasica;
            tablaInformBasica = (DataTable)Session["tblInformBasica"];
            string xmlInformBasica = ToStringAsXml(tablaInformBasica);

            DataTable tablaTodaInformBasicaRubro;
            tablaTodaInformBasicaRubro = (DataTable)Session["tblTodaInformBasicaRubro"];
            string xmlTodaInformBasicaRubro = ToStringAsXml(tablaTodaInformBasicaRubro);
            #endregion
            #region -- InformacionDireccion --
            DataTable tablaInformSucursal;
            tablaInformSucursal = (DataTable)Session["tblInformSucursal"];
            string colNumIdet = tablaInformSucursal.Rows[0].ItemArray[tablaInformSucursal.Columns["colNumIdet"].Ordinal].ToString();
            string xmlInformSucursal;
            if (colNumIdet == "") { xmlInformSucursal = ""; } else { xmlInformSucursal = ToStringAsXml(tablaInformSucursal); }

            DataTable tablaTODADireccion;
            tablaTODADireccion = (DataTable)Session["tblTODADireccion"];
            colNumIdet = tablaTODADireccion.Rows[0].ItemArray[tablaTODADireccion.Columns["colNumIdet"].Ordinal].ToString();
            string xmlTODADireccion;
            if (colNumIdet == "") { xmlTODADireccion = ""; } else { xmlTODADireccion = ToStringAsXml(tablaTODADireccion); }

            #endregion

            #region -- InformacionReferenciaComercial --

            DataTable tablaRefComercialBRECA;
            tablaRefComercialBRECA = (DataTable)Session["tblRefComerBRECA"];
            colNumIdet = tablaRefComercialBRECA.Rows[0].ItemArray[tablaRefComercialBRECA.Columns["colNumIdet"].Ordinal].ToString();
            string xmlRefComercialBRECA;
            if (colNumIdet == "") { xmlRefComercialBRECA = ""; } else { xmlRefComercialBRECA = ToStringAsXml(tablaRefComercialBRECA); }

            DataTable tablaRefComercialCLIENTES;
            tablaRefComercialCLIENTES = (DataTable)Session["tblRefComerCLIENTES"];
            colNumIdet = tablaRefComercialCLIENTES.Rows[0].ItemArray[tablaRefComercialCLIENTES.Columns["colNumIdet"].Ordinal].ToString();
            string xmlRefComercialCLIENTES;
            if (colNumIdet == "") { xmlRefComercialCLIENTES = ""; } else { xmlRefComercialCLIENTES = ToStringAsXml(tablaRefComercialCLIENTES); }

            DataTable tablaRefComercialPROVEEDOR;
            tablaRefComercialPROVEEDOR = (DataTable)Session["tblRefComerPROVEEDOR"];
            colNumIdet = tablaRefComercialPROVEEDOR.Rows[0].ItemArray[tablaRefComercialPROVEEDOR.Columns["colNumIdet"].Ordinal].ToString();
            string xmlRefComercialPROVEEDOR;
            if (colNumIdet == "") { xmlRefComercialPROVEEDOR = ""; } else { xmlRefComercialPROVEEDOR = ToStringAsXml(tablaRefComercialPROVEEDOR); }

            DataTable tablaEmpresaComercial;
            tablaEmpresaComercial = (DataTable)Session["tablaEmpresaC"];
            colNumIdet = tablaEmpresaComercial.Rows[0].ItemArray[tablaEmpresaComercial.Columns["colNumIdet"].Ordinal].ToString();
            string xmlEmpresaComercial;
            if (colNumIdet == "") { xmlEmpresaComercial = ""; } else { xmlEmpresaComercial = ToStringAsXml(tablaEmpresaComercial); }


            DataTable tablaEmphomologadoras;
            tablaEmphomologadoras = (DataTable)Session["tablaEmphomologadoras"];
            colNumIdet = tablaEmphomologadoras.Rows[0].ItemArray[tablaEmphomologadoras.Columns["colNumIdet"].Ordinal].ToString();
            string xmlEmphomologadoras;
            if (colNumIdet == "") { xmlEmphomologadoras = ""; } else { xmlEmphomologadoras = ToStringAsXml(tablaEmphomologadoras); }

            DataTable tablaEmpConcurso;
            tablaEmpConcurso = (DataTable)Session["tablaEmpConcurso"];
            colNumIdet = tablaEmpConcurso.Rows[0].ItemArray[tablaEmpConcurso.Columns["colNumIdet"].Ordinal].ToString();
            string xmlEmpConcurso;
            if (colNumIdet == "") { xmlEmpConcurso = ""; } else { xmlEmpConcurso = ToStringAsXml(tablaEmpConcurso); }


            DataTable tablaTodoRefComercial;
            tablaTodoRefComercial = (DataTable)Session["tablaTodoRefComercial"];
            colNumIdet = tablaTodoRefComercial.Rows[0].ItemArray[tablaTodoRefComercial.Columns["colNumIdet"].Ordinal].ToString();
            string xmlTodoRefComercial;
            if (colNumIdet == "") { xmlTodoRefComercial = ""; } else { xmlTodoRefComercial = ToStringAsXml(tablaTodoRefComercial); }

            DataTable tablaVincTodoRefComercial;
            tablaVincTodoRefComercial = (DataTable)Session["tablaTodoRefComercial"];
            colNumIdet = tablaVincTodoRefComercial.Rows[0].ItemArray[tablaVincTodoRefComercial.Columns["colNumIdet"].Ordinal].ToString();
            string estado = tablaVincTodoRefComercial.Rows[0].ItemArray[tablaVincTodoRefComercial.Columns["colEstFamili"].Ordinal].ToString();
            string xmlTodovincRefComercial;
            if (colNumIdet == "" || estado == "NO") { xmlTodovincRefComercial = ""; } else { xmlTodovincRefComercial = ToStringAsXml(tablaVincTodoRefComercial); }

            #endregion

            #region -- InformacionPersona --
            DataTable tablaInfPersEjecutivo;
            tablaInfPersEjecutivo = (DataTable)Session["tablaInfPersEjecutivo"];
            colNumIdet = tablaInfPersEjecutivo.Rows[0].ItemArray[tablaInfPersEjecutivo.Columns["colNumIdet"].Ordinal].ToString();
            string xmlInfPersEjecutivo;
            if (colNumIdet == "") { xmlInfPersEjecutivo = ""; } else { xmlInfPersEjecutivo = ToStringAsXml(tablaInfPersEjecutivo); }

            DataTable tablaInfPersPropietario;
            tablaInfPersPropietario = (DataTable)Session["tablaInfPersPropietario"];
            colNumIdet = tablaInfPersPropietario.Rows[0].ItemArray[tablaInfPersPropietario.Columns["colNumIdet"].Ordinal].ToString();
            string xmlInfPersPropietario;
            if (colNumIdet == "") { xmlInfPersPropietario = ""; } else { xmlInfPersPropietario = ToStringAsXml(tablaInfPersPropietario); }


            DataTable tablaInfPersLegales;
            tablaInfPersLegales = (DataTable)Session["tablaInfPersLegales"];
            colNumIdet = tablaInfPersLegales.Rows[0].ItemArray[tablaInfPersLegales.Columns["colNumIdet"].Ordinal].ToString();
            string xmlInfPersLegales;
            if (colNumIdet == "") { xmlInfPersLegales = ""; } else { xmlInfPersLegales = ToStringAsXml(tablaInfPersLegales); }


            DataTable tablaInfPersPersonas;
            tablaInfPersPersonas = (DataTable)Session["tablaInfPersPersonas"];
            colNumIdet = tablaInfPersPersonas.Rows[0].ItemArray[tablaInfPersPersonas.Columns["colNumIdet"].Ordinal].ToString();
            string xmlInfPersPersonas;
            if (colNumIdet == "") { xmlInfPersPersonas = ""; } else { xmlInfPersPersonas = ToStringAsXml(tablaInfPersPersonas); }
            #endregion
            #region -- InformacionFinanciera --
            DataTable tablaInfFinBancaria;
            tablaInfFinBancaria = (DataTable)Session["tablaInfFinBancaria"];
            colNumIdet = tablaInfFinBancaria.Rows[0].ItemArray[tablaInfFinBancaria.Columns["colNumIdet"].Ordinal].ToString();
            string xmlInfFinBancaria;
            if (colNumIdet == "") { xmlInfFinBancaria = Constanst.Dato_FIN_Comodin(tablaTodaInformBasicaRubro.Rows[0].ItemArray[tablaTodaInformBasicaRubro.Columns["colNumIdet"].Ordinal].ToString()); } else { xmlInfFinBancaria = ToStringAsXml(tablaInfFinBancaria); }

            DataTable tablaInfFinCuentExt;
            tablaInfFinCuentExt = (DataTable)Session["tablaInfFinCuentExt"];
            colNumIdet = tablaInfFinCuentExt.Rows[0].ItemArray[tablaInfFinCuentExt.Columns["colNumIdet"].Ordinal].ToString();
            string xmlInfFinCuentExt;
            if (colNumIdet == "") { xmlInfFinCuentExt = ""; } else { xmlInfFinCuentExt = ToStringAsXml(tablaInfFinCuentExt); }

            DataTable tablaTodaInfFin;
            tablaTodaInfFin = (DataTable)Session["tablaTodaInfFin"];
            colNumIdet = tablaTodaInfFin.Rows[0].ItemArray[tablaTodaInfFin.Columns["colNumIdet"].Ordinal].ToString();
            string xmlTodaInfFin;
            if (colNumIdet == "") { xmlTodaInfFin = ""; } else { xmlTodaInfFin = ToStringAsXml(tablaTodaInfFin); }

            #endregion
            #region -- InformacionTributaria --
            DataTable tablaInformTributaria;
            tablaInformTributaria = (DataTable)Session["tblInformTributaria"];
            colNumIdet = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colNumIdet"].Ordinal].ToString();
            string xmlInformTributaria;
            if (colNumIdet == "") { xmlInformTributaria = ""; } else { xmlInformTributaria = ToStringAsXml(tablaInformTributaria); }
            #endregion

            string XML = ToStringAsXml(tablaTodaInformBasicaRubro).Trim();


            string INFORMACION_BASICA, NOM_RUB_PRO, INFORMSUCURSAL, TODADireccion, InfPersEjecutivo, InfPersPropietario, InfPersLegales, InfPersPersonas, InfFinBancaria, InfFinCuentExt, TodaInfFin, InformTributaria;
            string RefComercialBRECA, RefComercialVinculo, RefComercialClientes, RefComercialPROVEEDOR, RefComercialMarca, RefComercialCertif, RefComercialhomologadoras, RefComercialConcurso;

            INFORMACION_BASICA = xmlTodaInformBasicaRubro;
            NOM_RUB_PRO = xmlInformBasica;
            INFORMSUCURSAL = xmlInformSucursal;
            TODADireccion = xmlTODADireccion;

            RefComercialBRECA = xmlRefComercialBRECA;
            RefComercialVinculo = xmlTodovincRefComercial;
            RefComercialClientes = xmlRefComercialCLIENTES;
            RefComercialPROVEEDOR = xmlRefComercialPROVEEDOR;
            RefComercialMarca = xmlEmpresaComercial;
            RefComercialCertif = xmlTodoRefComercial;
            RefComercialhomologadoras = xmlEmphomologadoras;
            RefComercialConcurso = xmlEmpConcurso;

            InfPersEjecutivo = xmlInfPersEjecutivo;
            InfPersPropietario = xmlInfPersPropietario;
            InfPersLegales = xmlInfPersLegales;
            InfPersPersonas = xmlInfPersPersonas;
            InfFinBancaria = xmlInfFinBancaria;
            InfFinCuentExt = xmlInfFinCuentExt;
            TodaInfFin = xmlTodaInfFin;
            InformTributaria = xmlInformTributaria;


            NProveedor NobjInsert = new NProveedor();

            try
            {

           
            if (NobjInsert.InsertProv(INFORMACION_BASICA, NOM_RUB_PRO, INFORMSUCURSAL, TODADireccion, RefComercialBRECA, RefComercialVinculo, RefComercialClientes, RefComercialPROVEEDOR, RefComercialMarca, RefComercialCertif, RefComercialhomologadoras, RefComercialConcurso, InfPersEjecutivo, InfPersPropietario, InfPersLegales, InfPersPersonas, InfFinBancaria, InfFinCuentExt, TodaInfFin, InformTributaria) == 1)
            { 
          
                EnviarCorreo_Proveedor();
                EnviarCorreo_Comprador();
                ModalPopupExtender1.Show();
               
            }
            else
            {
                EscribirScriptManager("No se pudo registrar correctamente");
            }

            }
            catch (Exception ea)
            {
                //Borrar en pase a produccion
                EscribirScriptManager("Ocurrio un error: ");
                Session.Clear();
                Nlog log = new Nlog();
                log.RegistrarLog(ea.Message, ea.StackTrace, ea.InnerException.Message, ea.Source, 106);
            }
        }

        #region "Custom Methods --- Espera de variable"
        private void EnviarCorreo_Proveedor()
        {
            //string email = "wpazs@centria.net";
            DataTable tablaTodaInformBasicaRubro;
            tablaTodaInformBasicaRubro = (DataTable)Session["tblTodaInformBasicaRubro"];

            DataTable dt = new DataTable();
            NFormatCorreo FormatCorreo = new NFormatCorreo();
            dt = FormatCorreo.MostrarFormato(1);
            string colEmail = tablaTodaInformBasicaRubro.Rows[0].ItemArray[tablaTodaInformBasicaRubro.Columns["colEmail"].Ordinal].ToString();
            string txtContenido = dt.Rows[0].ItemArray[dt.Columns["VFOR_DETALLE_CORREO"].Ordinal].ToString();
            string txtasunto = dt.Rows[0].ItemArray[dt.Columns["VFOR_TITULO_CORREO"].Ordinal].ToString();

            NCorreo correo = new NCorreo();
            correo.EnviarCorreo(colEmail, txtasunto, txtContenido);

            //Util.EnviarCorreo(colEmail, txtasunto, txtContenido);
        }

        private void EnviarCorreo_Comprador()
        {
            //string email = "wpazs@centria.net";


            DataTable dt = new DataTable();
            NUsuario Usuario = new NUsuario();
            dt = Usuario.ListarUsuario("");
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                string estado = dt.Rows[i]["PK_IPER_IDPERFIL"].ToString();

                if (estado == "2")
                {
                    string colEmail = dt.Rows[i]["VUSU_EMAIL"].ToString();


                    string txtContenido = Constanst.FormatoCorreo.BodySendLinkHomologacion(Session["colNumIdet"].ToString());
                    string txtasunto = "Nuevo Proveedor";

                    NCorreo correo = new NCorreo();
                    correo.EnviarCorreo(colEmail, txtasunto, txtContenido);

                    //Util.EnviarCorreo(colEmail, txtasunto, txtContenido);
                }

            }


        }
        #endregion

        private int Validar_TodoCampos(int EstadoTodo)
        {
            if (txtFDirec.Text == "")
            {
                txtFDirec.BackColor = Color.Orange;
                txtFDirec.Focus();
                EscribirScriptManager("Favor de ingresar dirección");
                //lblError.Text = "Favor de ingresar dirección";
                //lblError.Visible = Visible;
                return EstadoTodo = 0;
            }else{ txtFDirec.BackColor = Color.White; }

            if (dllFIPais.SelectedValue == "0")
            {
                EscribirScriptManager("Favor de seleccionar país");
                //lblError.Text = "Favor de seleccionar país";
                //lblError.Visible = true;
                dllFIPais.Focus();
                return EstadoTodo = 0;
            }
            if (dllFIDpto.SelectedValue == "0")
            {
                EscribirScriptManager("Favor de seleccionar departamento");
                //lblError.Text = "Favor de seleccionar departamento";
                //lblError.Visible = true;
                dllFIDpto.Focus();
                return EstadoTodo = 0;
            }
            if (dllFIProv.SelectedValue == "0")
            {
                EscribirScriptManager("Favor de seleccionar provincia");
                //lblError.Text = "Favor de seleccionar provincia";
                //lblError.Visible = true;
                dllFIProv.Focus();
                return EstadoTodo = 0;
            }
            if (dllFIDist.SelectedValue == "0")
            {
                EscribirScriptManager("Favor de seleccionar distrito");
                //lblError.Text = "Favor de seleccionar distrito";
                //lblError.Visible = true;
                dllFIDist.Focus();
                return EstadoTodo = 0;
            }
            if (rbtDomiFiscal.SelectedValue == "")
            {
                EscribirScriptManager("Favor marcar tipo domicilio");
                //lblError.Text = "Favor marcar tipo domicilio";
                //lblError.Visible = true;
                rbtDomiFiscal.Focus();
                return EstadoTodo = 0;
            }
            if (rbtAgenRetenedor.SelectedValue == "")
            {
                EscribirScriptManager("Favor marcar tipo  agente retenedor");
                //lblError.Text = "Favor marcar tipo  agente retenedor";
                //lblError.Visible = true;
                rbtDomiFiscal.Focus();
                return EstadoTodo = 0;
            }
            if (rbtBuenContri.SelectedValue == "")
            {
                EscribirScriptManager("Favor marcar tipo contribuyente");
                //lblError.Text = "Favor marcar tipo contribuyente";
                //lblError.Visible = true;
                rbtDomiFiscal.Focus();
                return EstadoTodo = 0;
            }
            if (rbtNinguno.SelectedValue == "")
            {
                EscribirScriptManager("Favor marcar tipo ninguno");
                //lblError.Text = "Favor marcar tipo ninguno";
                //lblError.Visible = true;
                rbtDomiFiscal.Focus();
                return EstadoTodo = 0;
            }


            if (rbtEstContri.SelectedValue == "")
            {
                EscribirScriptManager("Favor marcar estado de contribuyente");
                //lblError.Text = "Favor marcar estado de contribuyente";
                //lblError.Visible = true;
                rbtDomiFiscal.Focus();
                return EstadoTodo = 0;
            }

            if (rbtCondicionContri.SelectedValue == "")
            {
                EscribirScriptManager("Favor marcar Condición de contribuyente");
                //lblError.Text = "Favor marcar Condición de contribuyente";
                //lblError.Visible = true;
                rbtDomiFiscal.Focus();
                return EstadoTodo = 0;
            }


            if (txtCodActEco.Text == "")
            {
                txtCodActEco.BackColor = Color.Orange;
                txtCodActEco.Focus();
                EscribirScriptManager("Favor de ingresar código");
                //lblError.Text = "Favor de ingresar codigo";
                //lblError.Visible = Visible;
                return EstadoTodo = 0;
            }else{ txtCodActEco.BackColor = Color.White; }

            if (txtDesAcEcon.Text == "")
            {
                txtDesAcEcon.BackColor = Color.Orange;
                txtDesAcEcon.Focus();
                EscribirScriptManager("Favor de ingresar descripción del código");
                //lblError.Text = "Favor de ingresar descripción del codigo";
                //lblError.Visible = Visible;
                return EstadoTodo = 0;
            }else{ txtDesAcEcon.BackColor = Color.White; }

            //if (txtBieServ.Text == "")
            //{
            //    txtBieServ.BackColor = Color.Orange;
            //    txtBieServ.Focus();
            //    EscribirScriptManager("Favor de ingresar bienes y/o servicios");
            //    //lblError.Text = "Favor de ingresar bienes y/o servicios";
            //    //lblError.Visible = Visible;
            //    return EstadoTodo = 0;
            //}else{ txtBieServ.BackColor = Color.White; }
            if (txtFecAct.Text == "")
            {
                txtFecAct.BackColor = Color.Orange;
                txtFecAct.Focus();
                EscribirScriptManager("Favor de ingresar fecha");
                //lblError.Text = "Favor de ingresar fecha";
                //lblError.Visible = Visible;
                return EstadoTodo = 0;
            }else{ txtFecAct.BackColor = Color.White; }

            string fecha, Capturar, fecha2;
            fecha = txtFecAct.Text.Substring(6, 4) + txtFecAct.Text.Substring(3, 2) + txtFecAct.Text.Substring(0, 2);
            Capturar = DateTime.Now.ToString();
            fecha2 = Capturar.Substring(6, 4) + Capturar.Substring(3, 2) + Capturar.Substring(0, 2);

            if (Convert.ToInt64(fecha) > Convert.ToInt64(fecha2))
            {
                txtFecAct.BackColor = Color.Orange;
                txtFecAct.Focus();
                EscribirScriptManager("Error de formato fecha");
                //lblError.Text = "Error de fecha";
                //lblError.Visible = Visible;
                return EstadoTodo = 0;
                  
            }else{ txtFecAct.BackColor = Color.White; }
            

            return EstadoTodo = 1;
        }

        #region --- Session TodaInformTODATributaria ----
        private void session_TodaInformTODATributaria()
        {
            if (Session["tblInformTributaria"] == null)
            {
                Session["tblInformTributaria"] = tablaInformTributaria;
                MostrartablaTODATributaria();
            }
            else
            {
                tablaInformTributaria = (DataTable)Session["tblInformTributaria"];

            }
        }
        #endregion
        #region -- Tabla  tablaTODATributaria--
        private void MostrartablaTODATributaria()
        {

            //------ Creando Colunar para la Tabla ---------------------------
            tablaInformTributaria.Columns.Add(new DataColumn("colPersoneria", Type.GetType("System.String")));
            tablaInformTributaria.Columns.Add(new DataColumn("colFDirec", Type.GetType("System.String")));
            tablaInformTributaria.Columns.Add(new DataColumn("colFIPais", Type.GetType("System.String")));
            tablaInformTributaria.Columns.Add(new DataColumn("colFIDpto", Type.GetType("System.String")));
            tablaInformTributaria.Columns.Add(new DataColumn("colFIProv", Type.GetType("System.String")));
            tablaInformTributaria.Columns.Add(new DataColumn("colFIDist", Type.GetType("System.String")));
            tablaInformTributaria.Columns.Add(new DataColumn("colDomiFiscal", Type.GetType("System.String")));
            tablaInformTributaria.Columns.Add(new DataColumn("colTipCompania", Type.GetType("System.String")));
            tablaInformTributaria.Columns.Add(new DataColumn("colDeclRenta", Type.GetType("System.String")));
            tablaInformTributaria.Columns.Add(new DataColumn("colCodActEco", Type.GetType("System.String")));
            tablaInformTributaria.Columns.Add(new DataColumn("colDesAcEcon", Type.GetType("System.String")));
            tablaInformTributaria.Columns.Add(new DataColumn("colBieServ", Type.GetType("System.String")));
            tablaInformTributaria.Columns.Add(new DataColumn("colAgenRetenedor", Type.GetType("System.String")));
            tablaInformTributaria.Columns.Add(new DataColumn("colBuenContri", Type.GetType("System.String")));
            tablaInformTributaria.Columns.Add(new DataColumn("colNinguno", Type.GetType("System.String")));
            tablaInformTributaria.Columns.Add(new DataColumn("colEstContri", Type.GetType("System.String")));
            tablaInformTributaria.Columns.Add(new DataColumn("colCondicionContri", Type.GetType("System.String")));
            tablaInformTributaria.Columns.Add(new DataColumn("colFecAct", Type.GetType("System.String")));
            //------------- -------------------------------------------------------------
            tablaInformTributaria.Columns.Add(new DataColumn("colNumIdet", Type.GetType("System.String")));
            //------------------------------------------------------------------------------------------


        }
        #endregion
        private void CargarDatosTablaTributaria()
        {
            if (tablaInformTributaria.Rows.Count == 1)
            {
                tablaInformTributaria.Rows.RemoveAt(0);
            }

            DataRow filaTodo = tablaInformTributaria.NewRow();

            filaTodo["colPersoneria"] = rbtPersoneria.SelectedValue.ToString();
            filaTodo["colFDirec"] = txtFDirec.Text.Trim();
            filaTodo["colFIPais"] = dllFIPais.SelectedValue.ToString();
            filaTodo["colFIDpto"] = dllFIDpto.SelectedValue.ToString();
            filaTodo["colFIProv"] = dllFIProv.SelectedValue.ToString();
            filaTodo["colFIDist"] = dllFIDist.SelectedValue.ToString();
            filaTodo["colDomiFiscal"] = rbtDomiFiscal.SelectedValue.ToString();
            filaTodo["colTipCompania"] = rbtTipCompania.SelectedValue.ToString();
            filaTodo["colDeclRenta"] = rbtDeclRenta.SelectedValue.ToString();
            filaTodo["colCodActEco"] = txtCodActEco.Text.Trim();
            filaTodo["colDesAcEcon"] = txtDesAcEcon.Text.Trim();
            //filaTodo["colBieServ"] = txtBieServ.Text.ToString();
            filaTodo["colAgenRetenedor"] = rbtAgenRetenedor.SelectedValue.ToString();
            filaTodo["colBuenContri"] = rbtBuenContri.SelectedValue.ToString();
            filaTodo["colNinguno"] = rbtNinguno.SelectedValue.ToString();
            filaTodo["colEstContri"] = rbtEstContri.SelectedValue.ToString();
            filaTodo["colCondicionContri"] = rbtCondicionContri.SelectedValue.ToString();
            filaTodo["colFecAct"] = txtFecAct.Text.Trim();
            //----------cod Ident--- --------
            filaTodo["colNumIdet"] = Session["colNumIdet"].ToString();
            tablaInformTributaria.Rows.Add(filaTodo);

        }

        private void LlenarCampos()
        {
            if (tablaInformTributaria.Rows.Count == 1)
            {

                rbtPersoneria.SelectedValue = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colPersoneria"].Ordinal].ToString();
                txtFDirec.Text = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colFDirec"].Ordinal].ToString();
                dllFIPais.SelectedValue = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colFIPais"].Ordinal].ToString();
                ListarFiscalDpto(dllFIPais.SelectedValue);
                dllFIDpto.SelectedValue = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colFIDpto"].Ordinal].ToString();
                ListarFiscalProv(dllFIDpto.SelectedValue);
                dllFIProv.SelectedValue = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colFIProv"].Ordinal].ToString();
                ListarFiscalDist(dllFIProv.SelectedValue);
                dllFIDist.SelectedValue = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colFIDist"].Ordinal].ToString();
                rbtDomiFiscal.SelectedValue = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colDomiFiscal"].Ordinal].ToString();
                rbtTipCompania.SelectedValue = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colTipCompania"].Ordinal].ToString();
                rbtDeclRenta.SelectedValue = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colDeclRenta"].Ordinal].ToString();
                txtCodActEco.Text = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colCodActEco"].Ordinal].ToString();
                txtDesAcEcon.Text = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colDesAcEcon"].Ordinal].ToString();
                //txtBieServ.Text = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colBieServ"].Ordinal].ToString();
                rbtAgenRetenedor.SelectedValue = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colAgenRetenedor"].Ordinal].ToString();
                rbtBuenContri.SelectedValue = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colBuenContri"].Ordinal].ToString();
                rbtNinguno.SelectedValue = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colNinguno"].Ordinal].ToString();
                rbtEstContri.SelectedValue = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colEstContri"].Ordinal].ToString();
                rbtCondicionContri.SelectedValue = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colCondicionContri"].Ordinal].ToString();
                txtFecAct.Text = tablaInformTributaria.Rows[0].ItemArray[tablaInformTributaria.Columns["colFecAct"].Ordinal].ToString();
                tablaInformTributaria.Dispose();
            }
        }

        protected void btnLimpiar_Click(object sender, EventArgs e)
        {
            rbtPersoneria.SelectedValue ="N";
            txtFDirec.Text ="";
            dllFIPais.SelectedValue = "0";
            dllFIDpto.SelectedValue = "0";
            dllFIProv.SelectedValue = "0";
            dllFIDist.SelectedValue = "0";
            rbtDomiFiscal.SelectedValue = "";
            rbtTipCompania.SelectedValue = "PU";
            rbtDeclRenta.SelectedValue = "1";
            txtCodActEco.Text = "";
            txtDesAcEcon.Text = "";
            //txtBieServ.Text = "";
            rbtAgenRetenedor.SelectedValue = "";
            rbtBuenContri.SelectedValue = "";
            rbtNinguno.SelectedValue = "";
            rbtEstContri.SelectedValue = "";
            rbtCondicionContri.SelectedValue = "";
            txtFecAct.Text = "";
            txtFDirec.Focus();
        }

        protected void btnGrabar_Click1(object sender, EventArgs e)
        {
                Int32 Estado = new Int32();
                if (Validar_TodoCampos(Estado) == 1)
                {
                    CargarDatosTablaTributaria();
                    sessionesPaginas();
                }
                else { return; }
            
           
        }

        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            Session.Abandon();
            Response.Redirect("http://www.centria.net/");
        }

    }
}